home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / SPACEVIK.DSK / SHORE LEAVE.bas < prev    next >
BASIC Source File  |  2014-09-09  |  9KB  |  105 lines

  1. 0  ONERR  GOTO 63999
  2. 2  POKE 974,32
  3. 3  POKE 32,1
  4. 4  IF  PEEK(38388) = 5  THEN 10
  5. 5  IF  PEEK(38208) = 0  THEN  PRINT "SIR! THE PLANET": PRINT "HASN'T SURRENDERED!": PRINT "<CTRL-D>RUN GROUND FORCES"
  6. 10 D$ =  CHR$(4): POKE 974,64
  7. 11  PRINT D$;"OPEN MISC FILE": PRINT D$;"READ MISC FILE": INPUT SD: INPUT TR: INPUT CR: PRINT D$;"CLOSE"
  8. 12  POKE 974,32
  9. 14  HCOLOR= 1: HPLOT 1,1 TO 139,1 TO 139,110 TO 1,110 TO 1,1
  10. 15  SPEED= 125
  11. 20 J =  PEEK(38388): POKE 38388,0: ON J GOTO 2200,2400,2500,2100,4000
  12. 2080  SPEED= 255: VTAB 2: HTAB 2: FOR C = 2 TO 13: VTAB C: PRINT "                  ": NEXT : SPEED= 127
  13. 2081  VTAB 2: IF R = 7  THEN R = 0: RETURN 
  14. 2082  PRINT "TROOPS READY FOR": PRINT "SHORE LEAVE, SIR.": PRINT "BACK PAY COMES TO": PRINT TR;" CREDITS.": PRINT : PRINT "YOU HAVE ";CR: PRINT "CREDITS."
  15. 2085  PRINT "PAY THEM (Y/N)?";: GET P$: IF P$ < >"Y"  AND P$ < >"N"  THEN 2085
  16. 2087  POKE 38170,70
  17. 2088  IF P$ = "N"  THEN M =  PEEK(38203):M = M -2: IF M <1  THEN M = 1
  18. 2089  IF P$ = "N"  THEN  POKE 38203,M
  19. 2090  IF P$ = "Y"  AND TR >CR  THEN  PRINT " ": PRINT "YOU DON'T HAVE": PRINT "ENOUGH CREDITS, SIR!":P$ = "N": GOTO 2088
  20. 2093  IF P$ = "Y"  THEN M =  PEEK(38203):M = M +1: IF M >6  THEN M = 6
  21. 2095  IF P$ = "Y"  THEN  POKE 38203,M:CR =  INT(CR -TR)
  22. 2096  POKE 974,64: PRINT " ": PRINT "<CTRL-D>OPEN MISC FILE": PRINT "<CTRL-D>WRITEMISC FILE": PRINT SD: PRINT TR: PRINT CR: PRINT "<CTRL-D>CLOSE"
  23. 2097  POKE 974,32
  24. 2098  POKE 38158, PEEK(38209): POKE 38166,2
  25. 2099  POKE 974,64: SPEED= 255: FOR J = 1 TO 4000: NEXT : PRINT " ": PRINT "<CTRL-D>RUN GROUND FORCES"
  26. 2100 R = 7: GOSUB 2080: GOSUB 2170: IF  PEEK(38303 + PEEK(38209)) >0  THEN  PRINT "THERE IS ALREADY": PRINT "A BASE ON THIS": PRINT "PLANET, SIR!": GOTO 2099
  27. 2105  IF  PEEK(38282 + PEEK(38209)) <2  THEN  PRINT "THIS PLANET IS TOO": PRINT "BACKWARD TO BUILD": PRINT "A BASE, SIR!": GOTO 2099
  28. 2106  IF  PEEK(38149) = 1  THEN  PRINT "ONLY ONE TIME PER": PRINT "TRIP, SIR.": GOTO 2099
  29. 2107  POKE 38149,1
  30. 2110  PRINT "SIR! IT WILL COST": PRINT  INT(C);" TO BUILD A": PRINT "BASE HERE.": PRINT : PRINT "YOU HAVE ";CR: PRINT "CREDITS NOW.":C =  INT(C)
  31. 2130  IF CR <C  THEN  PRINT "YOU DON'T HAVE": PRINT "ENOUGH CREDITS TO": PRINT "BUILD A BASE HERE.": GOTO 2099
  32. 2140  VTAB 8: PRINT "BUILD A BASE?": PRINT "(Y/N)";: GET A$: IF A$ = "N"  THEN  GOTO 2099
  33. 2150  IF A$ < >"Y"  THEN 2140
  34. 2155  PRINT " "
  35. 2159 CR =  INT(CR -C)
  36. 2160  PRINT "CONSTRUCTION IS": PRINT "UNDER WAY, SIR.": POKE 974,64: POKE 38303 + PEEK(38209),1: PRINT "<CTRL-D>OPEN MISC FILE": PRINT "<CTRL-D>WRITE MISC FILE": PRINT SD: PRINT TR: PRINT CR: PRINT "<CTRL-D>CLOSE": GOTO 2099
  37. 2170 C = 20000 +(( RND(1) *5000) *( RND(1) *10)): RETURN 
  38. 2200 R = 7: GOSUB 2080: PRINT "ENLIST TROOPS": PRINT 
  39. 2210  IF  PEEK(38389) = 1  THEN  PRINT "ONE TIME PER TRIP.": GOTO 2099
  40. 2220  POKE 38389,1
  41. 2240  IF  PEEK(38208) = 0  THEN  PRINT "THE PLANET HAS NOT": PRINT "SURRENDERED YET!!": GOTO 2099
  42. 2250  PRINT "EACH NEW TROOP": PRINT "MUST BE PAID ONE": PRINT "CREDIT IN ADVANCE."
  43. 2260  PRINT "YOU HAVE ";CR: PRINT "CREDITS, SIR."
  44. 2270  PRINT "TROOPS= ";TR: VTAB 10: PRINT "HOW MANY TROOPS": PRINT "DO YOU WANT TO": PRINT "ENLIST?";
  45. 2275 J = 0:V = 13:H = 2: GOSUB 5000:EN = CC: VTAB 13: HTAB 2: PRINT "       "
  46. 2280  IF EN >CR  THEN  VTAB 10: PRINT "                  ": PRINT "                  ": PRINT "          ": VTAB 10: PRINT "YOU DON'T HAVE": PRINT EN;" CREDITS!": FOR J = 1 TO 3000: NEXT 
  47. 2281  IF EN >CR  THEN  VTAB 10: PRINT "                  ": PRINT "                  ": PRINT "          ": PRINT "          ": VTAB 9: GOTO 2270
  48. 2285  IF TR +EN >20000  THEN  VTAB 12: HTAB 2: PRINT "TOO MANY TROOPS.  ": FOR O = 1 TO 2000: NEXT : POKE 38389,0: GOTO 2200
  49. 2289  POKE 974,64
  50. 2290 TR = TR +EN:CR = CR -EN: GOSUB 3000: PRINT "<CTRL-D>OPEN MISC FILE": PRINT "<CTRL-D>WRITE MISC FILE": PRINT SD: PRINT TR: PRINT CR: PRINT "<CTRL-D>CLOSE"
  51. 2291  POKE 974,32
  52. 2300  GOTO 2099
  53. 2400 L =  PEEK(38171) *(300 * RND(1)):L = L +( PEEK(38172) *150):L = L +( PEEK(38173) *100):L = L +( PEEK(38174) *200):L = L +( PEEK(38175) *200):L = L +( PEEK(38176) *200)
  54. 2405 L = L +( PEEK(38177) *300):L = L +( PEEK(38178) *15):L = L +( PEEK(38179) *5):L = L +( PEEK(38180) *25):L = L +(( PEEK(38181) *20) *75):L = L +(( PEEK(38182) *10) *100):L = L +(( PEEK(38183) *10) *200)
  55. 2406 L = L *2
  56. 2408 R = 7:CR =  INT(CR):L =  INT(L)
  57. 2410  GOSUB 2080: PRINT "   SELL LOOT": PRINT 
  58. 2430  PRINT "YOU HAD ";CR: PRINT "CREDITS.": PRINT "YOUR LOOT IS WORTH": PRINT L;" CREDITS.": PRINT 
  59. 2460  PRINT "THAT GIVES YOU A": PRINT "TOTAL OF ";CR +L: PRINT "CREDITS!":CR = CR +L: FOR C = 38171 TO 38183: POKE C,0: NEXT : POKE 974,64: PRINT "<CTRL-D>OPEN MISC FILE": PRINT "<CTRL-D>WRITE MISC FILE": PRINT SD: PRINT TR: PRINT CR: PRINT "<CTRL-D>CLOSE": GOTO 2099
  60. 2500  DATA  SHIELD,38200,ENERGY,38199,# 1 ENGINE,38198,# 2 ENGINE,38197,COMPUTER,38196,RADAR,38195,ENV. CONTROL,38194,HULL DMG.,38193,HYPERDRIVE,38190,MISSILES,38187,LASER,38186,NAV. COMP.,38184
  61. 2502  HCOLOR= 0: FOR J = 200 TO 260  STEP 5: DRAW 25 AT J,133: NEXT 
  62. 2505 R = 7: GOSUB 2080: IF  PEEK(38210) = 0  OR  PEEK(29469) >22  THEN  VTAB 3: HTAB 3: PRINT "YOU MUST LAND ON": HTAB 3: PRINT "PLANET FIRST.": GOTO 2099
  63. 2510  PRINT "  REPAIR SHIP": FOR J = 1 TO 12: READ A$: READ LO
  64. 2520 D =  PEEK(LO): IF D <100  AND J < >10  AND J < >2  THEN  PRINT A$;":";: HTAB 13:CD =  INT(( RND(1) *150) *(100 -((D/100) *100))): PRINT D;: HTAB 17: PRINT "%":P = P +CD: POKE LO,100
  65. 2524  IF D <63  AND J = 2  THEN D2 = 63 -D:D2 = D2 *(100/63)
  66. 2525  IF D <63  AND J = 2  THEN D1 =  INT((D2/100) *100): PRINT A$;: HTAB 13:CD =  INT(( RND(1) *200) *(100 -D1)): PRINT D;: HTAB 17: PRINT "%":P = P +CD: POKE LO,63
  67. 2530  IF D <100  AND J = 10  THEN  PRINT A$;: HTAB 13:CD =  INT(( RND(1) *100) *(100 - PEEK(LO))): PRINT D;: HTAB 17: PRINT "%":P = P +CD: POKE LO,100
  68. 2540  NEXT : FOR J = 1 TO 4000: NEXT 
  69. 2545  HCOLOR= 1: FOR J = 153 TO 157: HPLOT 262,J TO 271,J: NEXT 
  70. 2550 R = 7: GOSUB 2080: PRINT "  REPAIR SHIP": PRINT : PRINT "ALL REPAIRS ARE": PRINT "COMPLETE, SIR."
  71. 2555 CR =  INT(CR): POKE 38393,0
  72. 2560  PRINT "THE TOTAL REPAIR": PRINT "BILL COMES TO": PRINT P;" CREDITS.": PRINT "YOU HAVE ";CR: PRINT "CREDITS.": IF CR <P  THEN 2600
  73. 2580  PRINT "ARE YOU GOING TO": PRINT "PAY, SIR? (Y/N) ";: GET N$: IF N$ = "N"  AND P >0  THEN  PRINT " ": GOTO 2600
  74. 2590 CR =  INT(CR -P): GOTO 2615
  75. 2600 R = 7: GOSUB 2080: IF N$ = "N"  THEN 2605
  76. 2602  PRINT "YOU DON'T HAVE": PRINT "ENOUGH CREDITS!": PRINT "YOU HAVE 0 CREDITS": PRINT "LEFT!":CR = 0
  77. 2605  PRINT "I'M AFRAID YOU'VE": PRINT "MADE THE LOCAL": PRINT "GOVERNMENT ANGRY!": FOR J = 1 TO 4000: NEXT 
  78. 2610  POKE 38208,0: POKE 38219 + PEEK(38209),0
  79. 2615  POKE 974,64
  80. 2620  VTAB 2: PRINT " ": SPEED= 255: PRINT "<CTRL-D>OPEN MISC FILE": PRINT "<CTRL-D>WRITE MISC FILE": PRINT SD: PRINT TR: PRINT CR: PRINT "<CTRL-D>CLOSE": GOTO 2099
  81. 3000 A$(1) = "FIGHTERS":A$(2) = "TRANSPORTS":A$(3) = "TANKS":A$(4) = "MISSILES":MU(1) = 50:MU(2) = 75:MU(3) = 40:MU(4) = 30:LO = 38156
  82. 3010  FOR J1 = 0 TO 3: SPEED= 255
  83. 3012  POKE 974,32
  84. 3020 R = 7: GOSUB 2080: PRINT " BUY WEAPONS": PRINT : PRINT "CREDITS:";: HTAB 13: PRINT CR: FOR J = 0 TO 3:A =  PEEK(LO -J)
  85. 3050  PRINT A$(J +1);":";: HTAB 16: PRINT A
  86. 3055  IF PL = 7  THEN PL = 7: NEXT :PL = 0: RETURN 
  87. 3060  NEXT : PRINT "..................":C =  INT(( RND(1) +.2) *4 *MU(J1 +1)): VTAB 10: PRINT A$(J1 +1);" COST";C
  88. 3070 JJ = J:J = 0: VTAB 11: PRINT "BUY HOW MANY? ":V = 12:H = 2: GOSUB 5000:B = CC: IF B <0  OR B >255  THEN  VTAB 11: PRINT "                 ": VTAB 11: SPEED= 90: PRINT "BUY 255 MAX.  ": SPEED= 255: PRINT "          ": GOTO 3070
  89. 3072  IF B + PEEK(LO -J1) >255  THEN  VTAB 11: PRINT "                  ": VTAB 11: SPEED= 127: PRINT "255 MAX ": SPEED= 255: PRINT "       ": GOTO 3070
  90. 3090  IF B *C >CR  THEN  VTAB 11: PRINT "                 ": VTAB 11: PRINT "NOT ENOUGH CREDITS": FOR L = 1 TO 2000: NEXT : VTAB 11: PRINT "                  ": PRINT "           ": GOTO 3070
  91. 3100 CR =  INT(CR -(B *C)):C =  PEEK(LO -J1) +B: IF C >255  THEN C = 255
  92. 3110  POKE LO -J1,C: NEXT :PL = 7: SPEED= 255: GOSUB 3020: RETURN 
  93. 4000 R = 7: GOSUB 2080: VTAB 4: IF  PEEK(38166) = 1  OR  PEEK(38166) = 2  THEN  PRINT "TROOPS NOT ON": PRINT "BOARD, SIR.": GOTO 2099
  94. 4010  IF  PEEK(38166) = 3  THEN  PRINT "TROOPS ARE BEING": PRINT "REVIVED, SIR.": POKE 38166,0: GOTO 2099
  95. 4020  PRINT "TROOPS ARE BEING": PRINT "PUT IN CRYOGENICS": POKE 38166,3: GOTO 2099
  96. 5000  HTAB H +J: VTAB V: GET C$: IF C$ < > CHR$(8)  THEN J = J +1
  97. 5001  IF C$ =  CHR$(8)  THEN J = J -1: IF J <0  THEN J = 0
  98. 5002  IF C$ =  CHR$(8)  THEN  VTAB V: HTAB H +J: PRINT "  ";: IF J = 0  THEN C1$ = "": VTAB V: GOTO 5000
  99. 5003  IF C$ =  CHR$(8)  AND J >0  THEN C1$ =  LEFT$(C1$,J): VTAB V: GOTO 5000
  100. 5004  IF C$ =  CHR$(13)  THEN 5010
  101. 5006  VTAB V: HTAB H +J -1: PRINT C$;:C1$ = C1$ +C$: GOTO 5000
  102. 5010 CC =  VAL(C1$):C1$ = ""
  103. 5015 J = JJ
  104. 5020  PRINT : RETURN 
  105. 63999  PRINT : PRINT "<CTRL-D>INT"